package com.yugao.fintech.antelope.codegen.service;

import com.yugao.fintech.antelope.codegen.model.entity.TemplateGroup;
import com.yugao.fintech.antelope.codegen.model.rqrs.TemplateGroupListRQ;
import com.yugao.fintech.antelope.codegen.model.rqrs.TemplateGroupRS;

import java.util.List;


public interface TemplateGroupService {
    /**
     * 查询所有记录
     *
     * @return 返回集合，没有返回空List
     */
    List<TemplateGroupRS> listTemplateGroup(TemplateGroupListRQ req);

    /**
     * 根据主键查询
     *
     * @param id 主键
     * @return 返回记录，没有返回null
     */
    TemplateGroup getById(Long id);

    /**
     * 新增，插入所有字段
     *
     * @param templateGroupPO 新增的记录
     */
    void save(TemplateGroup templateGroupPO);

    /**
     * 修改，修改所有字段
     *
     * @param templateGroupPO 修改的记录
     */
    void updateById(TemplateGroup templateGroupPO);

    /**
     * 删除记录
     *
     * @param templateGroupPO 待删除的记录
     */
    void deleteById(TemplateGroup templateGroupPO);

    /**
     * 删除记录
     *
     * @param templateGroupPO 待删除的记录
     */
    void deleteGroup(TemplateGroup templateGroupPO);

    TemplateGroup getByName(String name);

    void deleteGroupBatch(List<Long> ids);
}
